package com.demo.wrapper;

import com.demo.wrapper.interfaces.ICustomBuildAggWrapper;
import com.demo.wrapper.interfaces.IEsLimitWrapper;
import org.elasticsearch.search.aggregations.AggregationBuilder;

/**
 * 支持lambda的聚合拼接器
 *
 * @param <Wrapper> 条件拼接类
 * @param <DO>      文档实体类
 * @author 19242
 */
public class EsLambdaAggWrapper<DO, Wrapper extends IEsLimitWrapper<Wrapper, EsLambdaAggWrapper<DO, Wrapper>>> extends AbstractEsLambdaAggWrapper<EsLambdaAggWrapper<DO, Wrapper>, DO, Wrapper> implements ICustomBuildAggWrapper<EsLambdaAggWrapper<DO, Wrapper>, Wrapper, AggregationBuilder> {
    @Override
    public EsLambdaAggWrapper<DO, Wrapper> instanceChild() {
        return new EsLambdaAggWrapper<>();
    }
}
